'use strict';
const db = uniCloud.database() 
const dbCmd = db.command
const uniID = require('uni-id')
exports.main = async (event, context) => {
	//1.利用token获取到用户id
	var tok = await uniID.checkToken(event.uniIdToken)
	//code不为0代表token校验未通过,直接返回错误信息
	if (tok.code !== 0) {
		return tok
	}
	//token校验成功后,用户id就用从云端获得的uid
	//1.先获取数据库,云函数操作数据库是异步的，要用await
	let mySendCollection= db.collection('mysend')
	//2.存进数据库前，先查询一下有没有这个用户id，已有就把任务id追加进数组，没有就直接添加
	let isnew = await mySendCollection.where({userId:tok.uid}).get()
	//如果是新用户，以往没存过任务
	if(isnew.affectedDocs===0){
		let obj = {};
		obj.userId=tok.uid;
		obj.taskId=[];
		obj.taskId.push(event.taskId);  
		var res = await mySendCollection.add(obj)
	}else{
		//如果已有这个用户，就把只把taskid添加进任务数组里
		var res = await mySendCollection.doc(isnew.data[0]._id).update({
			taskId: dbCmd.push([event.taskId])
		})
	}
	//返回数据给客户端
	return res
};
